define(['jquery','api','user','util'],function($,api,user,util){
	var vm,
	   startid=0,//分页起始
	   flowType={
		     '1' : '入金',
        '2' : '出金',
        '3' : '盈亏',
        '4' : '支付递延费',
        '5' : '收取递延费',
        '6' : '支付手续费',
        '7' : '收取佣金',
        '8' : '支付交割款',
        '9' : '收取交割款 ',
        'A' : '支付交割费',
        'B' : '收取交割费 ',
        'C' : '支付出金手续费',
        'D' : '收取出金手续费', 
        'G' : '红冲',
        'H' : '蓝补',
        'I' : '银行对账调账入金',
        'J' : '银行对账调账出金',
        'K' : '强平冲正',
        'L' : '无负债结算盈亏',
        'M' : '冲正处理(出金)',
        'N' : '采购专项支出',
        'O' : '无负债结算盈亏结转',
        'P' : '支取银行手续费',
        'Q' : '支付入金手续费',
        'R' : '转帐入金',
        'S' : '转账出金',
        'T' : '支付发行手续费',
        'U' : '收取发行手续费',
        'V' : '支付货款',
        'W' : '收货款',
        'X' : '预扣申购货款',
        'Y' : '返还申购货款',
        'Z' : '支付托管费',
        'a' : '支付保险费',
        'b' : '支付仓储费',
        'c' : '返还托管费',
        'd' : '返还保险费',
        'e' : '返还仓储费',
        'f' : '支付提货单注册费',
        'g' : '支付提货单注销费',
        'h' : '支付提货单过户费',
        'i' : '收取提货单注册费',
        'j' : '收取提货单注销费',
        'k' : '支付提货单配送费',
        'l' : '支付挂牌费',
        'm' : '支付滞纳金',
        'n' : '采购专项收入'

	   },
	   loadNowTimer,
	   controller = {
	   init:function(id){
	   	   if(!user.checkLogin())return;
	   	   	api.headerShow(1);
			api.headerTitle(L('html_title_fund_flow'));
	   	   api.footerShow(0);//隐藏底部导航
		   api.setTitle(L('html_title_fund_flow'));
		   
		   this.render();
	   },
	   render:function(){
	   	var that = this;
	   		$('#common').html('<div id="fundFlow"></div>');
	       require(['text!pages/fund/flow.html','Vue'],function(tpl,Vue){
	            vm=new Vue({
	               el:'#fundFlow',
	               data:{
	               	  show:true,
	               	  rows:[],
	               	  loading:false,
                      	rowsHistory:[], // 历史列表数据容器
                      	isToday:false, // tab 是否为今天，否则历史
                        startTime:(function(d){return d.format('yyyy-MM-dd')})(new Date(new Date().getTime()-86400*1000)),
	                    endTime:(function(d){return d.format('yyyy-MM-dd')})(new Date()),
	                    form:{
	                    	startTime:'',
	                    	endTime:''
	                    },
                        showMore:{ // 显示更多
                              today:false,
                              history:false
                        },
                        noMoreNow:false,
                        noMoreHis:false
	               },
	               filters:{
	                  getType:function(n){
						   var key=String.fromCharCode(n),
						       str=flowType[key];

						   return str?str:n;
					  },
					  moneyFormat:function(v){
					       return util.priceFormat(2,v);
					  }
	               },
	               methods:{
					 	 switchTab:function(t){
			              	 this.isToday=t;
			              	 
			              	 if(this.isToday){
			              	 	this.loading=true;
			              	 	if(loadNowTimer) clearTimeout(loadNowTimer);
			              	 	loadNowTimer = setTimeout(function(){
			              	 		that.loadNow()
			              	 	},1000);
			              	 }
			             },
	               		query:function(more){
					 	    if(more === undefined){
				                vm.rowsHistory=[];
				                startid=0;
				            }
				            if(!vm.form.startTime){
								vm.form.startTime=vm.startTime;            	
				            }
				            if(!vm.form.endTime){
								vm.form.endTime=vm.endTime;            	
				            }
				            that.load();
					 	 }
	               },
	               template:tpl
	            });
	            
	       });
	       
	   },
	   loadNow:function(){ //当日
	   	var params={count:20,sorttype:49};
	   	
	    api.fundFlow(params,
	      	function(rs){
		         vm.loading = false;
		         if(rs.retcode=='0' && rs.data){
		         	vm.noMoreNow=false;
			         vm.rows=rs.data;
		      	}else{
		      		vm.noMoreNow=true;
//		      		util.msg('暂无更多今日数据');
		      	}
		    },
		    function(){//err
        		vm.loading=false;
		    	vm.noMoreNow=false;
        	}
  		);
	      
	   },
	   load:function(){//历史
	   		vm.loading=true;
            var rowsHis,
            	pageSize=20;
            api.fundFlowHistory({begindate:vm.form.startTime,enddate:vm.form.endTime,id:startid,count:pageSize,sort:50},
            	function(rs){
                 vm.loading=false;
                 if(rs.retcode=='0' && rs.data){
                 	vm.noMoreHis=false;
                    rowsHis=rs.data;
                    vm.rowsHistory=vm.rowsHistory.length?vm.rowsHistory.concat(rowsHis):rowsHis;
                    var len = rowsHis.length;
                    startid+=len;
                    // 加载更多按钮
                    if(len>=pageSize){
                       vm.showMore.history=true;
                    }else{
                       vm.showMore.history=false;
                    }
                    
                 }else{
                 	vm.noMoreHis=true;
//               	util.msg('暂无更多数据');
                 }
            	},
            	function(){//err
            		vm.loading=false;
            		vm.noMoreNow=false;
            	}
        	);
	   },
	   onRouteChange:function(){
	       if(vm)vm.show=false;
	   }
	};
    return controller;
})